Pathway information display device

ABSTRACT

A spring layout system or the like is then executed to nodes (A to U in FIG.  10 ) and edges (e 1  to e 15 ) defined in a binary relation model database to thereby automatically draw a graph. Nodes are replaced by rings and edges are replaced by springs, and a layout is calculated so that forces of the springs (a repulsive force and an attractive force) acting on the rings can realize a minimum energy state of the system. Node coordinate positions are determined based on the calculated forces, and the nodes and the edges are drawn in the form of a graph. The “repulsive force” is a force generated between every pair of nodes present within a certain distance, and the nodes are dispersed and overlaps of nodes are removed by the repulsive force. The “attractive force” is a force generated between every pair of nodes present within the certain distance. The nodes connected to each other by edges by the attractive force are closer to each other. Therefore, relevant nodes can be made closer and easily discriminated from irrelevant nodes.

TECHNICAL FIELD

The present invention relates to a pathway information displayapparatus, a pathway information display method, a program, and arecording medium. More specifically, the invention relates to a pathwayinformation display apparatus, a pathway information display method, aprogram, and a recording medium for automatically drawing a binaryrelation model.

The present invention also relates to a directed graph layout apparatus,a directed graph layout method, a program, and a recording medium. Morespecifically, the invention relates to a directed graph layoutapparatus, a directed graph layout method, a program, and a recordingmedium capable of expressing flows of edges of a directed graph.

BACKGROUND ART

(I) Techniques for creating a model of a metabolic circuit, asignal-transfer pathway, or a genetic control pathway in the form of agraph have been conventionally proposed in the bioinformatics field.

For example, P. Karp and S. M. Paley, “Automated drawing of metabolicpathways” (in Third International Conference on Bioinformatics andGenome Research (H. Lim, C. Cantor, and R. Robbins, eds. 1994) disclosesa technique for creating models of metabolic pathways in the form ofgraphs and drawing the graphs.

Tomihiro Koike and Andrey Rzhetsky, “A graphic editor for analyzingsignal-transfer pathways” (GENE 259, pp. 235-244, 2000) discloses atechnique for creating models of signal-transfer pathways in the form ofgraphs and drawing and editing the graphs.

Moritz Y. Becker and Isabel Rojas. “A graph layout algorithm for drawingmetabolic pathways” (Bioinformatics, Vol. 17, No 5, pp. 461-467, 2001)discloses a technique for creating models of metabolic pathways in theform of graphs and drawing the graphs.

The conventional techniques for creating models of metabolic pathwaysand the like in the form of graphs and drawing the graphs have, however,the following problems. These conventional techniques can automaticallydraw a relatively simple and small-sized pathway graph. However, theycannot automatically draw a complicated pathway graph and a medium orlarge-sized pathway graph for reasons including one that it takes a longtime to perform calculations.

Furthermore, in each of the pathway graphs automatically drawn by theconventional techniques, nodes, edges, and label description regionsthereof are often overlapped, which makes it disadvantageously difficultto view the graph.

Various tools have been developed for user's manually drawing pathwayinformation in the form of graphs. In drawing graphs of complicatedpathways or medium or large-sized pathways, it is necessary to uniformlydraw them while appropriately clustering internode relations (that is,to draw more relevant nodes to be closer to each other) and avoidoverlapping of nodes. They require a skilled technique for handling thetools. Therefore, even if one of these tools is used, it takes a lot oftime and labor, with the result that it is disadvantageously difficultto create such graphs.

As described above, conventional pathway graph drawing systems and thelike in the bioinformatics field are confronted with many problems. Theconventional techniques are, therefore, inferior in friendliness to bothusers and drawers and in utilization efficiency.

The conventional techniques and the problems to be solved by the presentinvention explained so far are not limited to bioinformatics systems fordrawing graphs of pathway information such as genetic control pathways,metabolic pathways, and signal-transfer pathways. The same is true forall systems for drawing graphs of pathway information in every field.

It is, therefore, an object of the present invention to provide apathway information display apparatus, a pathway information displaymethod, a program, and a recording medium capable of automaticallydrawing a graph of a complicated pathway or a medium-sized orlarge-sized pathway.

(II) Meanwhile, in the field of information processing, there have beenknown techniques for automatically drawing a graph based on a springlayout system using force-directed scheme or a magnetic spring system(Japanese Patent Application Laid-open No. H8-30799) capable of makingdirections of edges of a directed graph unidirectional.

However, the conventional techniques have the following problems. If amodel of a pathway such as a metabolic pathway is to be created in theform of a directed graph (a graph having directed edges), various graphlayouts are present such as a graph layout capable of expressing a graphof, for example, a signal-transfer circuit in one direction and a graphlayout capable of expressing a graph of, for example, a metaboliccircuit in a circular direction mainly due to presence of a forwardpath. Due to this, with the technique for making a direction of a graphlayout uniform, e.g., the conventional magnetic spring system, a graphhaving locally different directions cannot be laid out.

Namely, if a directed graph in which a pathway on which a forward pathis present and a pathway on which a cyclic path is not present is to belaid out using the conventional techniques, it is necessary to do so bya combination of various methods or by manually making fine adjustments.With the conventional techniques, therefore, it is impossible toefficiently lay out a directed graph by a simple method.

Various tools have been developed for user's manually drawing pathwayinformation in the form of graphs. In drawing graphs for complicatedpathways or medium or large-sized pathways, it is necessary to uniformlydraw them while appropriately clustering internode relations (that is,to draw more relevant nodes to be closer to each other) and avoidoverlapping of nodes. They require a skilled technique for handling thetools. Therefore, even if one of these tools is used, it takes a lot oftime and labor, with the result that it is disadvantageously difficultto create such graphs.

As described above, conventional pathway graph drawing systems and thelike in the bioinformatics field are confronted with many problems. Theconventional techniques are, therefore, inferior in friendliness to bothusers and drawers and in utilization efficiency.

The conventional techniques and the problems to be solved by the presentinvention explained so far are not limited to bioinformatics systems fordrawing graphs of pathway information such as genetic control pathways,metabolic pathways, and signal-transfer pathways. The same is true forall systems for drawing graphs for pathway information in every field.

It is, therefore, an object of the present invention to provide adirected graph layout apparatus, a directed graph layout method, aprogram, and a recording medium capable of efficiently laying out adirected graph by a simple method if a pathway on which a forward pathis present and a pathway on which a cyclic path is not present are mixedin the directed graph.

DISCLOSURE OF INVENTION

(I) To achieve such an object, a pathway information display apparatus,a pathway information display method, and a program according to thepresent invention include a binary relation model creation unit (abinary relation model creation step) of creating a binary relation modelof pathway information configured by nodes and edges; a repulsive forcecalculation unit (a repulsive force calculation step) of calculating arepulsive force generated between the nodes within a certain distance;an attractive force calculation unit (an attractive force calculationstep) of calculating an attractive force generated between the nodesconnected to each other by the edges; a repulsion field calculation unit(a repulsion field calculation step) of calculating the repulsive forceand the attractive force by setting a repulsion field for a presetperipheral region of the nodes; and a graph drawing unit (a graphdrawing step) of determining a coordinate position of each of the nodesbased on the repulsive force calculated by the repulsive forcecalculation unit (the repulsive force calculation step), the attractiveforce calculated by the attractive force calculation unit (theattractive force calculation step), and the repulsive force and theattractive force in the repulsion field calculated by the repulsionfield calculation unit (the repulsion field calculation step), using aspring layout system, and drawing the nodes and the edges in the form ofa graph, wherein the pathway information is displayed as the graph usingthe binary relation model.

According to the apparatus, the method, and the program, a binaryrelation model of pathway information configured by nodes and edges iscreated. The pathway information includes information on genetic controlpathways, metabolic pathways, signal-transfer pathways or the like. Bymapping main information on a binary relation, the complicated pathwayinformation can be simplified into a model and integrally expressed.Furthermore, a repulsive force generated between the nodes within acertain distance is calculated, and an attractive force generatedbetween the nodes connected to each other by the edges is calculated. Acoordinate position of each node is determined based on the repulsiveforce and the attractive force, and the nodes and the edges are drawn inthe form of a graph. By doing so, even if the pathway information ismedium or large-sized pathway information or complicated pathwayinformation, a graph that is readable to some extent can beautomatically drawn within a certain time. If the layout is executedonly by forces based on the repulsive force and the attractive forcebetween each node pair, the nodes are often so close to each other tothereby make the edges and their labels difficult to distinguish fromone another. According to the present invention, therefore, therepulsion field is set for a preset peripheral region of the nodes so asto prevent every node pair from being too close to each other. That is,according to the invention, the repulsion field is set for the presetperipheral region of the nodes and the repulsive force and theattractive force are then calculated. Based on the calculated repulsiveforce and attractive force, and the repulsive force and attractive forcein the repulsion field, the coordinate position of each node isdetermined by the spring layout system, the nodes and the edges aredrawn in the form of a graph, and the pathway information is displayedas a graph using the binary relation model. Therefore, overlapping ofthe nodes and the edges themselves and their labels is avoided, therebyfurther improving readability of the graph.

According to the pathway information display apparatus, the pathwayinformation display method, and the program according to the nextinvention, which are based on the pathway information display apparatus,the pathway information display method, and the program explained above,the repulsive force calculation unit calculates the repulsive force andthe attractive force in the repulsion field (at the repulsive forcecalculation step, the repulsive force and the attractive force in therepulsion field are calculated) by performing both or one of weakeningof the attractive force for the peripheral regions of the nodes andstrengthening the repulsive force between the nodes located in theperipheral regions of the nodes.

This shows one example of the calculation of the repulsion field morespecifically. According to the apparatus, the method, and the program,the repulsion field is calculated by performing both of or one ofweakening of the attractive force for the peripheral regions of thenodes (including not generating the attractive force) and/orstrengthening of the repulsive force between every node pair locatedwithin the node peripheral region. Based on the forces, coordinatepositions of the entire nodes are determined so that an entire force(e.g., an energy value that is the sum of absolute values of syntheticvectors for all edges) can realize the system in a minimum energy stateby the spring layout system. The nodes and the edges are drawn in theform of a graph.

The pathway information display apparatus, the pathway informationdisplay method, and the program according to the next invention, whichare based on the pathway information display apparatus, the pathwayinformation display method, and the program explained above, furtherinclude a boundary determination unit (a boundary determination step) ofdetermining whether the coordinate position of the each node fallswithin a preset drawing region, and of, if the coordinate position isout of the drawing region, moving the coordinate position of the node toa boundary of the drawing region.

According to the apparatus, the method, and the program, it isdetermined whether a coordinate position of each node falls within apreset drawing region. If the node coordinate position is out of thedrawing region, the node coordinate position is moved to a boundary ofthe drawing region. Therefore, the pathway information can be alwaysdrawn within the drawing region.

The pathway information display apparatus, the pathway informationdisplay method, and the program according to the next invention, whichare based on the pathway information display apparatus, the pathwayinformation display method, and the program explained above, furtherinclude a dynamic parameter control unit (a dynamic parameter controlstep) of controlling the repulsion field generated between the nodes tobe narrowed and the attractive force generated between the nodes to bestrengthened before a preset time passes, controlling the repulsionfield of the nodes to be widened, the attractive force generated betweenthe nodes to be weakened, and the repulsive force generated between thenodes to be strengthened, and thereby controlling the graph to be drawnso that relevant nodes are closer to each other before the preset timepasses and so that the closer nodes are dispersed from each other afterpassage of the preset time.

According to the apparatus, the method, and the program, the noderepulsion field is controlled to be narrowed and the attractive forcegenerated between the nodes is controlled to be strengthened before apreset time passes, and the node repulsion field is controlled to bewidened. In addition, the attractive force generated between the nodesis controlled to be weakened, and the repulsive force generated betweenthe nodes is controlled to be strengthened after the preset time passes.It is thereby possible to control the graph to be drawn so that therelevant nodes are closer to each other before the time passes and sothat the closer nodes are dispersed after the time passes.

The pathway information display apparatus, the pathway informationdisplay method, and the program according to the next invention, whichare based on the pathway information display apparatus, the pathwayinformation display method, and the program explained above, furtherinclude an energy calculation unit (an energy calculation step) ofcalculating an energy by calculating a sum of absolute values ofsynthetic vectors based on the nodes and the edges drawn by the graphdrawing unit (at the graph drawing step), wherein the dynamic parametercontrol unit repeatedly performs the operation (the dynamic parametercontrol step is repeatedly executed) until the energy calculated by theenergy calculation unit (at the energy calculation step) is lower than apreset value, or until the energy becomes minimum.

According to the apparatus, the method, and the program, the energy iscalculated by calculating a sum of absolute values of synthetic vectorsbased on the drawn nodes and edges. The dynamic parameter control isrepeatedly executed until the calculated energy is lower than a presetvalue, or until the energy becomes minimum. It is thereby possible tocalculate the layout so as to realize the system in a low energy stateto a certain extent or in a minimum energy state.

The pathway information display apparatus, the pathway informationdisplay method, and the program according to the next invention, whichare based on the pathway information display apparatus, the pathwayinformation display method, and the program explained above, furtherinclude a dummy node setting unit (a dummy node setting step) of, if aconnection destination of one of the edges for one of the nodes isanother one of the edges, setting a dummy node on the another edge,wherein the graph drawing unit draws the graph (at the graph drawingstep, the graph is drawn) while using a portion of the dummy node as abent point.

According to the apparatus, the method, and the program, if a connectiondestination of an edge for one of the nodes is another one of the edges,a dummy node on another edge is set, and the graph is drawn while usinga portion of the dummy node as a bent point. It is, therefore, possibleto provide the pathway information display apparatus, the pathwayinformation display method, the program, and the recording mediumcapable of improving the readability of the graph if the edge isconnected to another edge.

Furthermore, the present invention relates to a recording medium, andthe recording medium according to the invention records the programexplained above.

According to the recording medium, by causing a computer to read theprogram recorded in the recording medium and execute the program, theprogram can be realized using the computer. The same advantages as thoseof the respective methods can be obtained.

(II) To achieve the object, a directed graph layout apparatus, adirected graph layout method, and a program are a directed graph layoutapparatus, a directed graph layout method, and a program forautomatically laying out a directed graph configured by nodes anddirected edges, including a synthetic vector generation unit (asynthetic vector generation step) of generating a synthetic vector ofall unit vectors, the unit vectors being the directed edges connected toeach of the nodes; an angle correcting force generation unit (an anglecorrecting force generation step) of generating an angle correctingforce for the each node serving as a connection destination node of thedirected edges in a direction in which an angle between the syntheticvector generated by the synthetic vector generation unit (at thesynthetic vector generation step) and each of the unit vectors issmaller and in a direction perpendicular to the each unit vector; anenergy calculation unit (an energy calculation step) of calculating anenergy by calculating a sum of the angle correcting forces for all thenodes; and an optimization control unit (an optimization control step)of changing a position of each of the nodes so as to optimize the energycalculated by the energy calculation unit (at the energy calculationstep).

According to the apparatus, the method, and the program, a syntheticvector of all unit vectors is generated, with the directed edgesconnected to each of the nodes assumed as the unit vectors. An anglecorrecting force is generated for the each node serving as a connectiondestination node of the directed edges in a direction in which an anglebetween the generated synthetic vector and each of the unit vectors issmaller and in a direction perpendicular to the each unit vector. Energyis calculated by calculating a sum of the angle correcting forces forall the nodes, and a position of each of the nodes is changed so as tooptimize the calculated energy. It is, therefore, possible toautomatically draw a graph in which flows of edges of a directed graphare expressed.

Namely, a directed graph in which a pathway on which a forward path ispresent and a pathway on which a cyclic path is not present are mixedcan be automatically laid out so that the forward path part is closer toa circle and directions of edges coincide with one another on a partother than the forward path. The directed graph layout can be realizedefficiently by a simple method.

Furthermore, according to the present invention, the drawing region canbe generally effectively used, as compared with an instance of drawing agraph using the magnetic spring system.

The directed graph layout apparatus, the directed graph layout method,and the program according to the next invention, which are based on thedirected graph layout apparatus, the directed graph layout method, andthe program explained above, further include a unit vectormultiplication unit (a unit vector multiplication step) of multiplyingthe each unit vector of each of the directed edges by a coefficientaccording to a type of the each directed edge, wherein the syntheticvector generation unit generates the synthetic vector (at the syntheticvector generation step, the synthetic vector is generated) using theeach unit vector multiplied by the coefficient by the unit vectormultiplication unit (at the unit vector multiplication step).

This shows one example of synthesizing the unit vectors morespecifically. According to the apparatus, the method, and the program,each unit vector of each of the directed edges is multiplied by acoefficient according to a type of the directed edge, and the syntheticvector is generated using the unit vectors each multiplied by thecoefficient. Therefore, a weight can be given to the directivity of eachdirected edge according to the type of the directed edge. For instance,as types of the edges, a normal route (a route in a stationary state),an abnormal route (a route appearing under abnormal conditions), and thelike are set, and heavier weight is given to the normal route. It isthereby possible to lay out the graph so that the directivity of eachedge is along the normal route.

According to the directed graph layout apparatus, the directed graphlayout method, and the program according to the next invention, whichare based on the directed graph layout apparatus, the directed graphlayout method, and the program explained above, the angle correctingforce is a preset constant.

This shows one example of the angle correcting force more specifically.According to the apparatus, the method, and the program, the anglecorrecting force is a preset constant. The angle correcting force can beobtained without making complicated calculations, and without need oflots of calculation time and calculation amount.

According to the directed graph layout apparatus, the directed graphlayout method, and the program according to the next invention, whichare based on the directed graph layout apparatus, the directed graphlayout method, and the program explained above, the angle correctingforce is changed according to the angle.

This shows one example of the angle correcting force more specifically.According to the apparatus, the method, and the program, the anglecorrecting force is changed according to the angle. The optimization canbe, therefore, efficiently executed in the initial state.

The directed graph layout apparatus, the directed graph layout method,and the program according to the next invention, which are based on thedirected graph layout apparatus, the directed graph layout method, andthe program explained above, further includes an attractive forcecalculation unit (an attractive force calculation step) of calculatingan attractive force generated between the nodes connected to each otherby the edges; a repulsive force calculation unit (a repulsive forcecalculation step) of calculating a repulsive force generated between thenodes within a certain distance, wherein the energy calculation unitcalculates the energy (at the energy calculation step, the energy iscalculated) by calculating a sum of the attractive forces, the repulsiveforces, and the angle correcting forces for all the nodes.

According to the apparatus, the method, and the program, an attractiveforce generated between the nodes connected to each other by the edgesis calculated, and a repulsive force generated between the nodes withina certain distance is calculated. The energy is calculated bycalculating a sum of the attractive forces, the repulsive forces, andthe angle correcting forces for all the nodes. When the angle adjustmentis made, all the directed edges are to be overlaid on a certain line(synthetic vector). However, by utilizing a force-directed layout schemesuch as the spring layout system together with the present invention,the repulsive force generated between nodes closer to each other to someextent is stronger, and the nodes repel each other. It is, therefore,possible to prevent different edges from being completely overlaid.

Furthermore, the present invention relates to a recording medium, andthe recording medium according to the invention records the programexplained above.

According to the recording medium, by causing a computer to read theprogram recorded in the recording medium and execute the program, theprogram can be realized using the computer. The same advantages as thoseof the respective methods can be obtained.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual view of an outline of the basic principle of thepresent invention;

FIG. 2 is a block diagram of one example of a system to which thepresent invention is applied;

FIG. 3 is a conceptual view of a binary relation model;

FIG. 4 is one example of information stored in a binary relation modeldatabase 106 a;

FIG. 5 is a flowchart of one example of main processing performed by thesystem according to the embodiment;

FIG. 6 is a flowchart of one example of a spring layout processingperformed by the system according to the embodiment;

FIG. 7 is a flowchart of one example of a dynamic parameter controlprocessing according to the embodiment of the present invention;

FIG. 8 is a flowchart of one example of a dummy node processingperformed by the system according to the embodiment;

FIG. 9 is one example of a binary relation model creation screendisplayed on an output device 114 of a pathway information displayapparatus 100;

FIG. 10 is a principle block diagram of the basic principle of thepresent invention;

FIG. 11 depicts a concept of an angle adjustment using an anglecorrecting force according to the present invention;

FIG. 12 is one example of a directed graph of a metabolic pathway or thelike on which a forward path is present;

FIG. 13 is one example of a directed graph of a signal-transfer pathwayor the like on which a cyclic path is not present;

FIG. 14 is a block diagram of one example of a configuration of a systemto which the present invention is applied;

FIG. 15 is a conceptual view of a binary relation model;

FIG. 16 is one example of information stored in a binary relation modeldatabase 1106 a;

FIG. 17 is a flowchart of one example of the main processing performedby the system according to the embodiment;

FIG. 18 is a flowchart of one example of a directed graph layoutprocessing performed by the system according to the embodiment;

FIG. 19 is a flowchart of one example of an angle correcting forcecalculation processing performed by an angle adjustment unit 1102 d;

FIG. 20 is one example of a directed graph output screen displayed on anoutput device 1114 of a directed graph layout apparatus 1100; and

FIG. 21 is one example of a binary relation model creation screendisplayed on the output device 1114 of the directed graph layoutapparatus 1100.

BEST MODE(S) FOR CARRYING OUT THE INVENTION

(I) Embodiments of a pathway information display apparatus, a pathwayinformation display method, a program, and a recording medium accordingto the present invention will be explained below in detail withreference to the accompanying drawings. Note that the invention is notlimited by the embodiments.

In the following embodiments, an instance that the present invention isapplied to a bioinformatics system that draws a graph of pathwayinformation such as a genetic control pathway, a metabolic pathway or asignal-transfer pathway will be explained. However, the invention is notlimited to the instance, and can be similarly applied to a system thatdraws a graph of pathway information in every field.

[Outline of the Present Invention]

The outline of the basic principle of the present invention will beexplained first, and a configuration, processing and the like of theinvention will be explained next in detail. FIG. 1 is a conceptual viewof the outline of the basic principle of the present invention.

According to the present invention, a binary relation model of pathwayinformation configured by nodes and edges is created first to therebyconstruct a binary relation model database. The “nodes” express mattersor phenomena. The “edges” express various internode relations. Thepathway includes a node serving as a start point and a node or an edgeserving as an end point, and expresses a binary relation from the startpoint to the terminal point. For instance, a node expresses either amatter such as a gene, a protein, an amino acid, an enzyme, a coenzymeor the like, or a phenomenon such as an enzyme reaction or a metabolicreaction. An edge expresses a relation between the start point and theend point such as formation, inhibition or bonding. Normally, nodes andedges are expressed in different forms according to types of pathways.

A spring layout system is then executed to nodes (A to U in FIG. 1) andedges (e₁ to e₁₅ in FIG. 1) defined in a binary relation model databaseto thereby draw a graph. The “spring layout” is a layout called“force-directed layout” among ordinary undirected graph drawing methods.Nodes are replaced by rings and edges are replaced by springs, and alayout is calculated so that forces of the springs (a repulsive forceand an attractive force) acting on the rings can realize a minimumenergy state of the system. Namely, according to the present invention,a repulsive force and an attractive force between nodes are calculatedaccording to a distance between the nodes. Node coordinate positions aredetermined based on the calculated forces, and the nodes and the edgesare drawn in the form of a graph. The “repulsive force” is a forcegenerated between every pair of nodes present within a certain distance,and the nodes are dispersed and overlaps of nodes are removed by therepulsive force. The “attractive force” is a force generated betweenevery pair of nodes present within the certain distance. The nodesconnected to each other by an edge by the attractive force are closer toeach other. Therefore, relevant nodes can be made closer and easilydiscriminated from irrelevant nodes.

If the spring layout is executed only by forces based on the repulsiveforce and the attractive force between each node pair, the nodes areoften so close to each other to thereby make the edges and their labelsdifficult to distinguish from each other. According to the presentinvention, therefore, a “repulsion field” is set for a preset peripheralregion of the nodes so as to prevent every node pair from being tooclose to each other. That is, according to the present invention, therepulsive force is calculated by performing both of or one of weakeningof the attractive force for the node peripheral region (including notgenerating the attractive force) and strengthening of the repulsiveforce between every node pair located within the node peripheral region.Based on the forces, coordinate positions of the entire nodes aredetermined so that an entire force (e.g., an energy value that is a sumof absolute values of synthetic vectors for all edges) can realize theminimum energy of the system in the spring layout. Thereafter, the nodesand the edges are drawn in the form of a graph.

Furthermore, according to the present invention, it is determinedwhether a coordinate position of each node falls within a preset drawingregion. If the node coordinate position is out of the drawing region,the node coordinate position is moved to a boundary of the drawingregion. The pathway information can be thereby always drawn within thedrawing region. By thus setting the drawing region in advance, a limitcan be set to a repulsive force acting distance. Accordingly, aphenomenon that nodes are permanently and continuously apart from eachother as seen in the ordinary spring layout can be avoided. If a nodemovement is inhibited on a window boundary, a phenomenon that many nodesconcentrate on the boundary can be avoided.

Furthermore, according to the present invention, the node repulsionfield is controlled to be narrowed and the attractive force between thenodes is controlled to be strengthened before a preset time passes.After the preset time passes, the node repulsion field is controlled tobe widened, the attractive force between the nodes is controlled to beweakened, and the repulsive force between the nodes is controlled to bestrengthened. It is thereby possible to dynamically perform a parametercontrol and draw a graph while making relevant nodes closer to eachother before the preset time passes and making the closer nodesdispersed after the preset time passes (a dynamic parameter controlprocessing). The energy is calculated by calculating the sum of absolutevalues of synthetic vectors based on the nodes and the edges. The energycalculation is repeated until the energy is lower than a preset value,or the energy becomes minimum. By executing the dynamic parametercontrol processing, the relevant nodes can be made closer in a shorttime and appropriate clustering can be performed even for large-scalepathway information or complicated pathway information before the presettime passes. In addition, most of edge crossings are removed, so thatchances for causing the energy to fall into a local minimum layout canbe reduced. Besides, after the passage of the preset time, readabilitycan be improved even for the complicated pathway information.

[System Configuration]

A configuration of a system to which the present invention is appliedwill be explained. FIG. 2 is a block diagram of one example of theconfiguration of the system to which the present invention is applied.In FIG. 2, only elements related to the invention are conceptually shownamong all constituent elements of the system. The system is roughlyconfigured such that a pathway information display apparatus 100 and anexternal system 200 are communicably connected to each other through anetwork 300. The external system 200 provides pathway information andthe like including external databases related to genetic controlpathways, metabolic pathways, and information transduction pathways,external programs and the like for a homology search, and the like.

In FIG. 2, the network 300, which functions to connect the pathwayinformation display apparatus 100 to the external system 200, is, forexample, the Internet.

In FIG. 2, the external system 200 is connected to the pathwayinformation display apparatus 100 through the network 300. The externalsystem 200 has a function to provide users with websites for executingthe external databases related to the pathway information and the likeand the external programs for the homology search, a motif search, andthe like.

The external system 200 can be configured as a WEB server, an ASP serveror the like, and a hardware configuration of the external system 200 canbe configured by an information processing apparatus such as acommercially available workstation or personal computer as well as theiradditional apparatuses. Functions of the external system 200 arerealized by a CPU, a disk device, a memory device, an input device, anoutput device, a communication control apparatus, and the like as wellas programs for controlling these apparatuses and the like.

In FIG. 2, the pathway information display apparatus 100 generallyincludes a control unit 102 such as a CPU, a communication controlinterface unit 104, an input and output control interface unit 108, aclock generator 110, and a storage unit 106. The communication controlinterface unit 104 integrally controls entirety of the pathwayinformation display apparatus 100. The communication control interfaceunit 104 is connected to a communication device (not shown), e.g., arouter connected to a communication line or the like. The input andoutput control interface unit 108 is connected to the input device 112and the output device 114. The clock generator 110 generates a systemclock. The storage unit 106 stores various databases and tables (abinary relation model database 106 a and a graph data 106 b). Theseconstituent elements are communicably connected to the network 300.Furthermore, the pathway information display apparatus 100 iscommunicably connected to the network 300 through the communicationdevice such as a router and a wired or wireless communication line suchas a dedicated line.

The various databases and tables (the binary relation model database 106a and the graph data 106 b) stored in the storage unit 106 are storagemeans such as a fixed disk device and the like, and store variousprograms, tables, databases, webpage files, and the like used forvarious processing.

Among the constituent elements of the storage unit 106, the binaryrelation model database 106 a is a database that stores binary relationmodels of pathway information. For instance, a binary relation modelrelated to information pathway stored in the external database such asKEGG is created and stored in the binary relation model database 106 a.FIG. 3 is a conceptual view of the binary relation model. In the exampleshown in FIG. 3, nodes A to D are connected to one another by edges e₁to e₃. As described above, the pathway information can be defined by thebinary relation model configured by nodes and edges.

FIG. 4 is one example of information stored in the binary relation modeldatabase 106 a. As shown in FIG. 4, the information stored in the binaryrelation model database 106 a is configured by associating connectionsource information including a name, a coordinate, and the like of eachnode of the connection source, connection destination informationincluding a name, a coordinate, and the like of each node of theconnection destination, edge information including a name, a length(distance), and the like of each edge, relation information indicating arelation between connected nodes (formation, inhibition, acceleration,etc.), and the like to one another. The graph data 106 b is a graph datastorage unit that stores data on a drawn graph.

In FIG. 2, the communication control interface unit 104 exercises acommunication control over a communication between the pathwayinformation display apparatus 100 and the network 300 (or thecommunication device such as a router). Namely, the communicationcontrol interface unit 104 functions to communicate data with the otherterminal through the communication line.

In FIG. 2, the input and output control interface unit 108 controls theinput device 112 and the output device 114. As the output device 114, amonitor (including a home television set) or a speaker can be employed(hereinafter, the monitor will be explained as the output device). Asthe input device 112, a keyboard, a mouse, a microphone, and the likecan be employed. The monitor in cooperation with the mouse realizes apointing device function.

In FIG. 2, the control unit 102 includes an internal memory for storingcontrol programs for OS (Operating System) and the like, programs thatspecify various processing procedures, and required data. The controlunit 102 performs information processing for executing variousprocessing. The control unit 102 functionally and conceptually includesa binary relation model creation unit 102 a, an attractive forcecalculation unit 102 b, a repulsive force calculation unit 102 c, arepulsion field calculation unit 102 d, a boundary determination unit102 e, a dynamic parameter control unit 102 f, a graph drawing unit 102g, an energy calculation unit 102 h, and a dummy node processing unit102 i.

Among these constituent elements of the control unit 102, the binaryrelation model creation unit 102 a is binary relation model creationmeans for creating the binary relation model of the pathway informationconfigured by nodes and edges. The attractive force calculation unit 102b is attractive force calculation means for calculating an attractiveforce generated between nodes connected to each other by edges. Therepulsive force calculation unit 102 c is repulsive force calculationmeans for calculating a repulsive force generated between the nodeswithin a certain distance. The repulsion field calculation unit 102 d isrepulsion field calculation means for setting a repulsion field for apreset peripheral region of the nodes and for calculating the repulsiveforce and the attractive force in the repulsion field.

The boundary determination unit 102 e is boundary determination meansfor determining whether a coordinate position of each node falls withina preset drawing region, and that, if the node coordinate position isout of the drawing region, moving the node coordinate position to aboundary of the drawing region. The dynamic parameter control unit 102 fis dynamic parameter control means for controlling the repulsion fieldof the nodes to be narrowed and the attractive force between the nodesto be strengthened before a preset time passes, and for controlling therepulsion field of the nodes to be widened, the attractive force betweenthe nodes to be weakened, and the internode repulsive force to bestrengthened after the preset time passes. By doing so, the dynamicparameter control unit 102 f controls graph drawing so that relevantnodes are closer before the preset time passes and so that the closernodes are dispersed after passage of the preset time.

The graph drawing unit 102 g is graph drawing means for determining thecoordinate position of each node based on the repulsive force calculatedby the repulsive force calculation unit, the attractive force calculatedby the attractive force calculation unit, and the repulsive force andattractive force of the repulsion field calculated by the repulsionfield calculation unit by the spring layout, and drawing the nodes andthe edges in the form of a graph. The energy calculation unit 102 h isenergy calculation means for calculating energy by calculating a sum ofabsolute values of synthetic vectors based on the nodes and edges drawnby the graph drawing unit.

The dummy node processing unit 102 i is dummy node setting means for, ifthe edge connection destination of each node is an edge other than thatconnected to the node, setting a dummy node on the other edge.Processing performed by these respective units will be explained laterin detail.

[System Processing]

One example of processing of the apparatus according to this embodimentthus configured will be explained in detail with reference to FIGS. 5 to9.

[Main Processing]

Main processing will be explained first in detail with reference to FIG.5. FIG. 5 is a flowchart of one example of the main processing performedby the system according to this embodiment.

The pathway information display apparatus 100 creates the binaryrelation model from the pathway information by the processing performedby the binary relation model creation unit 102 a, and stores the binaryrelation model in the binary relation model database 106 a (at a stepSA-1). Namely, the binary relation model creation unit 102 a causes auser to select desired pathway information from among the pathwayinformation stored in the database such as the conventional KEGG. Thebinary relation model creation unit 102 a then automatically convertsthe binary relation model of the pathway information shown in FIG. 3into a form shown in FIG. 4 to thereby create the binary relation model,and stores the binary relation model in the binary relation modeldatabase 106 a. Alternatively, the binary relation model creation unit102 a can create the binary relation model by displaying a binaryrelation model creation screen as shown in FIG. 9 on the output device114 and causing the user to input information on nodes and edges.

FIG. 9 is one example of the binary relation model creation screendisplayed on the output device 114 of the pathway information displayapparatus 100. As shown in FIG. 9, the binary relation model creationscreen includes a pathway name input area MA-1, a connection sourceinformation input area MA-2, a connection destination information inputarea MA-3, and an edge information input area MA-4. If the user inputsdesired information in these input areas through the input device 112,the binary relation model creation unit 102 a stores the inputinformation in a predetermined storage region of the binary relationmodel database 106 a.

The control unit 102 executes a spring layout processing, to beexplained later, based on the binary relation model database 106 a (at astep SA-2). The main processing is thus finished.

[Spring Layout Processing]

The spring layout processing will be explained in detail with referenceto FIG. 6. FIG. 6 is a flowchart of one example of the spring layoutprocessing performed by the system according to this embodiment.

The control unit 102 receives a system clock from the clock generator110 and activates a control timer (at a step SB-1), and monitors whethera preset time t1 passes (at a step SB-2). The time t1 can be set basedon a graph complexity (determined according to, for example, the numberof nodes and edges), an energy value of an initial graph or the like.

If it is monitored that the time t1 does not pass at the step SB-2, aproximity parameter is set to a dynamic parameter (at a step SB-3). Whenthe time t1 passes, a dispersion parameter is set to the dynamicparameter (at a step SB-4).

The repulsive force calculation unit 102 c calculates and sets arepulsive force between each node pair within a certain distance (at astep SB-5). Namely, the repulsive force calculation unit 102 c sets astronger repulsive force between the nodes as the distance between thembecomes shorter.

The attractive force calculation unit 102 b then calculates and sets anattractive force between every node pair connected to each other byedges (at a step SB-6). Namely, the attractive force calculation unit102 b sets a stronger attractive force between the nodes as the distancebetween them becomes longer.

The repulsion field calculation unit 102 d sets a repulsion field forthe peripheral region of the nodes, calculates the repulsive force andthe attractive force in the repulsion field, and secures a characterregion for labels of nodes and the like (at a step SB-7). Namely, therepulsion field calculation unit 102 d calculates the repulsive forceand the attractive force in the repulsion field by performing both orone of weakening of the attractive force for the node peripheral region(including not generating an attractive force) and strengthening of therepulsive force between each node pair located within the nodeperipheral region.

For instance, the repulsive force calculation unit 102 d calculates therepulsive force and the attractive force of the repulsion field bysetting, for example, the repulsion field as a 20% similar region to anode size from a center of the nodes, the attractive force to 95% of thedistance, and the repulsive force to 200%, or by setting the repulsionfield as a 400% similar region to the node size from the center of thenodes, the attractive force to 5% of the distance, and the repulsiveforce to 800%.

The dynamic parameter control unit 102 f executes a dynamic parametercontrol processing shown in FIG. 7 (at a step SB-8).

FIG. 7 is a flowchart of one example of the dynamic parameter controlprocessing according to the embodiment of the present invention. In FIG.7, the dynamic parameter control unit 102 f determines whether the setdynamic parameter is a proximity parameter or a dispersion parameter (ata step SC-1). If the dynamic parameter is the proximity parameter, thedynamic parameter control unit 102 f controls the repulsion field to benarrowed and the attractive force to be strengthened (at a step SC-2).If the dynamic parameter is the dispersion parameter, the dynamicparameter control unit 102 f controls the repulsion field to be widened,the attractive force to be weakened, and the repulsive force to beweakened (at a step SC-3). Namely, if the dynamic parameter is theproximity parameter, the related nodes are closer on the graph. If thedynamic parameter is the dispersion parameter, the related nodes aredispersed on the graph.

Referring back to FIG. 6, the graph drawing unit 102 g determines thecoordinate position of each node based on the repulsive force andattractive force between the node pair and the repulsive force andattractive force in the repulsion field by the spring layout, and drawsthe nodes and edges in the form of a graph. Namely, the graph drawingunit 102 g repeatedly executes a spring layout step of finely moving thenode according to the synthetic vectors of all forces acting on the nodeby an appropriate number of times (the movement continues as long asforces are present). According to the spring layout, a force is definedas a function between a layout state and a time and controlled to beweaker if the node is moved in a direction of the force. Accordingly, ifthe number of steps increases, the sum of the absolute values of theentire forces in the layout (which will be referred to as “energy”) isreduced. That is, the repulsive force enables the nodes to be apart fromeach other and not to be overlapped with each other. If the nodes areapart from each other by a predetermined distance or more, the repulsiveforce is zero. The attractive force enables the nodes connected to eachother by edges to be closer to each other. If the nodes are closer toeach other by the predetermined distance or more, the attractive forceis zero. In addition, the action of the repulsive force can particularlymake the nodes having a large overlap amount apart from each other.

The spring layout will be explained referring to specific examples. Thefollowing processing is executed first to all node pairs (ni, nj) withinthe binary relation model.

(1) If a distance d between the nodes ni and nj exceeds a predetermineddistance, the next node pair is processed.

(2) The nodes ni and nj are moved in opposite directions to the nodes njand ni, respectively, by a distance proportional to a force (A) andinversely proportional to a square of d.

(3) If a position of the moved ni or nj is deviated from the drawingregion, the node ni or nj is moved to a nearest boundary of the drawingregion by the processing performed by the boundary determination unit102 e.

The following processing is then executed for all relations r within thebinary relation model.

(1) A start point node and an end point node of the relation r areassumed as ns and ne, respectively. A distance between ns and ne isassumed as d.

(2) If the d falls within a preset distance, the next relation isprocessed.

(3) The nodes ns and ne are moved in an ne direction and an nsdirection, respectively, by a distance proportional to a force (B) andthe distance d.

The graph drawing unit 102 g outputs the drawn graph to the outputdevice 114 (at a step SB-9).

Data on the graph drawn halfway can be stored in the graph data 106 b,and the respective control units (102 a to 102 h) can appropriatelyrefer to or store the data on the graph drawn halfway stored in thegraph data 106 b.

If the user indicates an end using the input device 112 referring to theoutput graph, if the entire energy calculated by the energy calculationunit 102 h is lower than a preset threshold, or the energy is a minimum,the spring layout processing is finished (at a step SB-10). Otherwise,the processing returns to the step SB-2.

[Dummy Node Processing]

The dummy node processing will be explained in detail with reference toFIG. 8. FIG. 8 is a flowchart of one example of the dummy nodeprocessing performed by the system according to this embodiment.

During creation of the binary relation model, if a connectiondestination of the edge (e₂) is the edge (e₁) the dummy node processingunit 102 i connects a dummy node (node t) in an appropriate form.Namely, the dummy node processing unit 102 i puts the dummy node (nodet) at a central portion or the like of the connection destination edge(e1) (at a step SD-1), arranges dummy edges (e3 and e4) to be connectedto the node (node B) to which the connection destination edge (e1) isconnected, and the original edge (e1) is deleted (at a step SD-2).

Regarding the dummy node as a normal node, the dummy node processingunit 102 i calculates a layout (executes the spring layout) by theabove-explained method (at a step SD-3).

The dummy node processing unit 102 i draws the original edge (e1) sothat a central portion of the dummy node is a bent point, and deletesthe dummy node and the dummy edges (at a step SD-4). The dummy nodeprocessing is thus finished.

[Other Embodiments]

While the embodiments of the present invention have been explainedabove, variously modified embodiments other than the explained ones canbe made without departing from the scope of the technical spirit of theappended claims.

Of the respective processing explained in the embodiments, all of or apart of the processing explained as being performed automatically can beperformed manually, or all of or a part of the processing explained asbeing performed manually can be performed automatically in a knownmethod.

Information including the processing procedure, the control procedure,specific names, parameters such as various kinds of registration dataand search conditions, display examples, and database configurationsshown in the specification or in the drawings can be optionally changed,unless otherwise specified.

The respective constituent elements of the pathway information displayapparatus 100 are only functionally conceptual and not always requiredto be physically configured as shown in FIG. 2.

For instance, all of or a part of processing functions included by therespective servers of the pathway information display apparatus 100,particularly those executed by the control unit can be realized by theCPU (Central Processing Unit) and the programs interpreted and executedby the CPU. Alternatively, they can be realized as hardware based onwired logic. The programs are recorded in a recording medium to beexplained later, and the programs are mechanically read by the pathwayinformation display apparatus 100 according to need.

The various databases and the like (the binary relation model database106 a and the graph data 106 b) stored in the storage unit 106 arestorage means such as memory devices such as RAMs or ROMs, fixed diskdevices such as hard disks, flexible disks, and optical disks. Theystore the various programs, tables, files, databases, webpage files, andthe like employed for various processing and for providing websites.

The pathway information display apparatus 100 can be realized byconnecting an information processing apparatus such as an informationprocessing terminal such as an existing personal computer or workstationto a peripheral such as a printer, a monitor, an image scanner or thelike, and installing software (including programs, data, and the like)for realizing the method according to the present invention into theinformation processing apparatus.

Furthermore, a specific form of dispersion and integration of thepathway information display apparatus 100 is not limited to that shownin the drawings. All of or a part of the pathway information displayapparatus 100 can be configured by being functionally or physicallydispersed or integrated according to arbitrary units according tovarious loads or the like. For instance, the pathway information displayapparatus 100 can be configured such that the respective databases serveas independent database apparatuses or a part of the processing thereofcan be realized using CGI (Common Gateway Interface).

The programs according to the present invention can be stored in acomputer readable recording medium. Examples of the “recording medium”include arbitrary “portable physical mediums” such as a flexible disk, amagneto-optical disk, a ROM, an EPROM, an EEPROM, a CD-ROM, an MO, and aDVD, arbitrary “fixed physical mediums” such as a ROM, a RAM, and a HDincluded in various computer systems, and “communication mediums”temporarily holding programs such as a communication line and a carrierwave used when the programs are transmitted through networks representedby a LAN, a WAN, and the Internet.

Furthermore, the “program” is a data processing method described in anarbitrary language by an arbitrary description method, and a form of the“program” is not limited to a source code or a binary code. The“program” is not always configured as a single program but can beconfigured to be distributed as a plurality of modules or libraries, orcan fulfill the functions in cooperation with a separate programrepresented by OS (Operating System). As for specific configurations,reading procedures, installing procedures after reading, and the likefor reading data from the recording medium by the respective devicesshown in the embodiment, well-known configurations and procedures can beused, respectively.

The network 300 functions to connect the pathway information displayapparatus 100 and the external system 200 to each other. For example,the network 300 can include any one of the Internet, the Intranet, a LAN(can be wired or wireless), a VAN, a personal computer communicationnetwork, a public telephone network (can be analog or digital), adedicated line network (can be analog or digital), a CATV network, aportable line switched network or a portable packet switched networkaccording to IMT2000, GSM, PDC/PDC-P or the like, a paging network, alocal wireless network such as Bluetooth, a PHS network, a satellitecommunications network for CS, BS, ISDB or the like. Namely, the systemaccording to the present invention can transmit and receive variouspieces of data through an arbitrary network whether the network is wiredor wireless.

As explained so far in detail, according to the present invention, abinary relation model of pathway information configured by nodes andedges is created. The pathway information includes information ongenetic control pathways, metabolic pathways, signal-transfer pathwaysor the like. By mapping main information on a binary relation, thecomplicated pathway information can be simplified into a model andintegrally expressed. Furthermore, a repulsive force generated betweenthe nodes within a certain distance is calculated, and an attractiveforce generated between the nodes connected to each other by the edgesis calculated. A coordinate position of each node is determined based onthe repulsive force and the attractive force, and the nodes and theedges are drawn in the form of a graph. By doing so, even if the pathwayinformation is medium or large-sized pathway information or complicatedpathway information, a graph that is readable to some extent can beautomatically drawn within a certain time.

If the layout is executed only by forces based on the repulsive forceand the attractive force between each node pair, the nodes are often soclose to each other, to make the edges and their labels difficult todistinguish from one another. According to the present invention,therefore, the repulsion field is set for a preset peripheral region ofthe nodes so as to prevent every node pair from being too close to eachother. That is, according to the present invention, the repulsion fieldis set for the preset peripheral region of the nodes and the repulsiveforce and the attractive force are then calculated. Based on thecalculated repulsive force and attractive force, and the repulsive forceand attractive force in the repulsion field, the coordinate position ofeach node is determined by the spring layout, the nodes and the edgesare drawn in the form of a graph, and the pathway information isdisplayed as a graph using the binary relation model. Therefore,overlapping of the nodes and the edges themselves and their labels isavoided, thereby further improving readability of the graph.

According to the present invention, the pathway information displayapparatus, the pathway information display method, the program, and therecording medium configured as follows can be provided. The repulsionfield is calculated by performing both of or one of weakening of theattractive force for the peripheral regions of the nodes (including notgenerating the attractive force) and strengthening of the repulsiveforce between every node pair located within the node peripheral region.Based on the forces, coordinate positions of the entire nodes aredetermined so that an entire force (e.g., an energy value that is thesum of absolute values of synthetic vectors for all edges) can realizethe system in a minimum energy state by the spring layout. The nodes andthe edges are then drawn in the form of a graph.

According to the present invention, it is determined whether acoordinate position of each node falls within a preset drawing region.If the node coordinate position is out of the drawing region, the nodecoordinate position is moved to a boundary of the drawing region.Therefore, the pathway information display apparatus, the pathwayinformation display method, the program, and the recording mediumcapable of always drawing the pathway information within the drawingregion can be provided.

According to the present invention, the node repulsion field iscontrolled to be narrowed and the attractive force generated between thenodes is controlled to be strengthened before a preset time passes, andthe node repulsion field is controlled to be widened. In addition, theattractive force generated between the nodes is controlled to beweakened, and the repulsive force generated between the nodes iscontrolled to be strengthened after the preset time passes. It isthereby possible to provide the pathway information display apparatus,the pathway information display method, the program, and the recordingmedium capable of controlling the graph to be drawn so that the relevantnodes are closer to each other before the time passes and so that thecloser nodes are dispersed after the time passes.

According to the present invention, the energy is calculated bycalculating a sum of absolute values of synthetic vectors based on thedrawn nodes and edges. The dynamic parameter control is repeatedlyexecuted until the calculated energy is lower than a preset value, oruntil the energy becomes minimum. It is thereby possible to provide thepathway information display apparatus, the pathway information displaymethod, the program, and the recording medium capable of calculating thelayout so as to realize the system in a low energy state to a certainextent or in a minimum energy state.

Furthermore, according to the present invention, if a connectiondestination of an edge for one of the nodes is another one of the edges,a dummy node on another edge is set, and the graph is drawn while usinga portion of the dummy node as a bent point. It is, therefore, possibleto provide the pathway information display apparatus, the pathwayinformation display method, the program, and the recording mediumcapable of improving the readability of the graph if the edge isconnected to another edge.

(II) An embodiment of a directed graph layout apparatus, a directedgraph layout method, a program, and a recording medium according to thepresent invention will be explained hereinafter in detail with referenceto the accompanying drawings. Note that the invention is not limited bythis embodiment.

In the following embodiment, an instance that the present invention isapplied to a bioinformatics system that draws a graph of pathwayinformation such as a genetic control pathway, a metabolic pathway, or asignal-transfer pathway will be explained. However, the invention is notlimited to the instance, and can be similarly applied to a system thatdraws a graph of pathway information in every field.

[Outline of the Present Invention]

The outline of the basic principle of the present invention will beexplained first, and a configuration, processing and the like of theinvention will be explained next in detail. FIG. 10 is a principle blockdiagram of the basic principle of the present invention.

According to the present invention, a binary relation model of pathwayinformation configured by nodes and edges is created first to therebyconstruct a binary relation model database. The “nodes” express mattersor phenomena. The “edges” express various internode relations. Thepathway includes a node serving as a start point and a node or an edgeserving as an end point, and expresses a binary relation from the startpoint to the terminal point. For instance, a node expresses either amatter such as a gene, a protein, an amino acid, an enzyme, a coenzymeor the like, or a phenomenon such as an enzyme reaction or a metabolicreaction. An edge expresses a relation between the start point and theend point such as formation, inhibition or bonding. Normally, nodes andedges are expressed in different forms according to types of pathways.

A spring layout system or the like is then executed to nodes (A to U inFIG. 10) and edges (e₁ to e₁₅) defined in a binary relation modeldatabase to thereby automatically draw a graph. The “spring layout” is alayout called “force-directed layout” among ordinary undirected graphdrawing schemes. Nodes are replaced by rings and edges are replaced bysprings, and a layout is calculated so that forces of the springs (arepulsive force and an attractive force) acting on the rings can realizea minimum energy state of the system. Namely, according to the presentinvention, a repulsive force and an attractive force between nodes arecalculated according to a distance between the nodes. Node coordinatepositions are determined based on the calculated forces, and the nodesand the edges are drawn in the form of a graph. The “repulsive force” isa force generated between every pair of nodes present within a certaindistance, and the nodes are dispersed and overlaps of nodes are removedby the repulsive force. The “attractive force” is a force generatedbetween every pair of nodes present within the certain distance. Thenodes connected to each other by edges by the attractive force arecloser to each other. Therefore, relevant nodes can be made closer andeasily discriminated from irrelevant nodes.

The spring layout is an undirected graph layout scheme that does notconsider directivities of respective edges. For instance, if a directedgraph (nodes A to H) such as the metabolic pathway on which a forwardpath is present as shown in FIG. 12 or a directed graph (nodes H to S)such as the signal-transfer pathway on which a cyclic path is notpresent as shown in FIG. 13 is to be automatically laid out, the layoutis performed without any considerations to the directivities of therespective edges.

According to the present invention, therefore, the respective nodes arelaid out by the spring layout or the like, and angles of the respectiveedges are then adjusted according to the directions of the edges,thereby drawing a graph. Namely, according to the present invention, anangle correcting force that is a force for making directions of edgesconnected to each node uniform is generated, thereby controlling layoutof the nodes.

FIG. 11 depicts a concept of an angle adjustment using the anglecorrecting force according to the present invention. According to theinvention, respective directed edges (e₁, e₂, and e₃ shown in FIG. 11)connected to a node (a node N in FIG. 11) are set as unit vectors, and asynthetic vector (g in FIG. 11) of all the unit vectors is generated.

According to the present invention, angle correcting forces (R₁ and R₂in FIG. 11) are generated for connection destination nodes (nodes O andP in FIG. 11) of the directed edges in a direction in which angles (t₁and t₂ in FIG. 11) between the synthetic vector (g) and the unit vectors(e₂ and e₃) are made smaller and in a direction perpendicular to theunit vectors, respectively. The angle correcting forces can be aconstant value or changed according to the respective angles (e.g.,numeric values incremented when the angles are larger).

Alternatively, the unit vector as each directed edge can be multipliedby a coefficient according to a type of the directed edge, and eachsynthetic vector can be generated using the unit vector multiplied bythe coefficient. By doing so, a weight can be given to the directivityof the directed edge according to the type of the directed edge.

According to the present invention, the angle correcting forces of allthe nodes are summed up to calculate energy, and coordinate positions ofthe nodes are changed so as to optimize the calculated energy.Alternatively, the energy can be calculated by generally adding up otherforces (e.g., attractive forces and repulsive forces) calculated by thespring layout or the like in the entire graph. Namely, a sum of absolutevalues of the forces can be calculated as the energy, and layout of therespective nodes can be determined so as to minimize the energy by anordinary optimization scheme (e.g., genetic algorithm or simulatedannealing). When the angle adjustment according to the present inventionis made, all the directed edges are to be overlaid on a certain line(synthetic vector). However, for example, by utilizing a force-directedlayout scheme such as the spring layout together with the invention, therepulsive force generated between nodes closer to each other to someextent is stronger, and the nodes repel each other. It is, therefore,possible to prevent different edges from being completely overlaid.

As the present invention is used, in the directed graph (nodes A to H)such as the metabolic pathway on which the forward path is present asshown in FIG. 12, the respective nodes are arranged on a circle byforces for causing the directed edges to be aligned on a line. In thedirected graph (nodes H to S) such as the signal-transfer pathway onwhich the cyclic path is not present as shown in FIG. 13, directions ofthe directed edges are made uniform to some extent around the respectivenodes. The directions of the edges are thereby made uniform as a whole.

[System Configuration]

A configuration of a system to which the present invention is appliedwill be explained. FIG. 14 is a block diagram of one example of theconfiguration of the system to which the present invention is applied.In FIG. 14, only elements related to the invention are conceptuallyshown among all constituent elements of the system. The system isroughly configured such that a directed graph layout apparatus 1100 andan external system 1200 are communicably connected to each other througha network 1300. The external system 1200 provides pathway informationand the like including external databases related to genetic controlpathways, metabolic pathways, and information transduction pathways,external programs and the like for a homology search, and the like.

In FIG. 14, the network 1300, which functions to connect the directedgraph layout apparatus 1100 to the external system 1200, is, forexample, the Internet.

In FIG. 14, the external system 1200 is connected to the directed graphlayout apparatus 1100 through the network 1300. The external system 1200has a function to provide users with websites for executing the externaldatabases related to the pathway information and the like and theexternal programs for the homology search, a motif search, and the like.

The external system 1200 can be configured as a WEB server, an ASPserver or the like, and a hardware configuration thereof can beconfigured by an information processing apparatus such as a commerciallyavailable workstation or personal computer as well as their additionalapparatuses. Functions of the external system 1200 are realized by aCPU, a disk device, a memory device, an input device, an output device,a communication control apparatus, and the like as well as programs forcontrolling these apparatuses and the like.

In FIG. 14, the directed graph layout apparatus 1100 generally includesa control unit 1102 such as a CPU, a communication control interfaceunit 1104, an input and output control interface unit 1108, and astorage unit 1106. The communication control interface unit 1102integrally controls entirety of the directed graph layout apparatus1100. The communication control interface unit 1104 is connected to acommunication device (not shown), e.g., a router connected to acommunication line or the like. The input and output control interfaceunit 1108 is connected to the input device 1112 and the output device1114. The storage unit 1106 stores various databases and tables (abinary relation model database 1106 a and a graph data 1106 b). Theseconstituent elements are communicably connected to the network 1300.Furthermore, the directed graph layout apparatus 1100 is communicablyconnected to the network 1300 through the communication device such as arouter and a wired or wireless communication line such as a dedicatedline.

The various databases and tables (the binary relation model database1106 a and the graph data 1106 b) stored in the storage unit 1106 arestorage means such as a fixed disk device and the like, and storevarious programs, tables, databases, webpage files, and the like usedfor various processing.

Among the constituent elements of the storage unit 1106, the binaryrelation model database 1106 a is a database that stores binary relationmodels of pathway information. For instance, a binary relation modelrelated to pathway information stored in the external database such asKEGG is created and stored in the binary relation model database 1106 a.FIG. 15 is a conceptual view of the binary relation model. In theexample shown in FIG. 15, nodes A to D are connected to one another byedges e₁ to e₃. As described above, the pathway information can bedefined by the binary relation model configured by nodes and edges.

FIG. 16 is one example of information stored in the binary relationmodel database 1106 a. As shown in FIG. 16, the information stored inthe binary relation model database 1106 a is configured by associatingconnection source information including a name, a coordinate, and thelike of each node of the connection source, connection destinationinformation including a name, a coordinate, and the like of each node ofthe connection destination, edge information including a name, a length(distance), and the like of each edge, relation information indicating atype of a relation between connected nodes (formation, inhibition,acceleration, normal system, or abnormal system), and the like to oneanother. The graph data 1106 b is graph data storage means for storingdata on a drawn graph.

In FIG. 14, the communication control interface unit 1104 exercises acommunication control over a communication between the directed graphlayout apparatus 1100 and the network 1300 (or the communication devicesuch as a router). Namely, the communication control interface unit 1104functions to communicate data with the other terminal through thecommunication line.

In FIG. 14, the input and output control interface unit 1108 controlsthe input device 1112 and the output device 1114. As the output device1114, a monitor (including a home television set) or a speaker can beemployed (hereinafter, the monitor will be explained as the outputdevice). As the input device 1112, a keyboard, a mouse, a microphone,and the like can be employed. The monitor in cooperation with the mouserealizes a pointing device function.

In FIG. 14, the control unit 1102 includes an internal memory forstoring control programs for OS (Operating System) and the like,programs that specify various processing procedures, and required data.The control unit 1102 performs information processing for executingvarious processing. The control unit 1102 functionally and conceptuallyincludes a binary relation model creation unit 1102 a, an attractiveforce calculation unit 1102 b, a repulsive force calculation unit 1102c, an angle adjustment unit 1102 d, an energy calculation unit 1102 e,an optimization control unit 1102 f, a graph drawing unit 1102 g, asynthetic vector generation unit 1102 h, and an angle correcting forcegeneration unit 1102 i.

Among these constituent elements of the control unit 1102, the binaryrelation model creation unit 1102 a is binary relation model creationmeans for creating the binary relation model of the pathway informationconfigured by nodes and edges. The attractive force calculation unit1102 b is attractive force calculation means for calculating anattractive force generated between nodes connected to each other byedges. The repulsive force calculation unit 1102 c is repulsive forcecalculation means for calculating a repulsive force generated betweenthe nodes within a certain distance. The angle adjustment unit 1102 d isangle adjustment means for adjusting an angle of each edge according tothe direction of the edge.

The angle adjustment unit 1102 d includes a synthetic vector generationunit 1102 h and the angle correcting force generation unit 1102 i. Thesynthetic vector generation unit 1102 h is synthetic vector generationmeans for generating a synthetic vector of all the unit vectors that arethe directed edges connected to each node. The angle correcting forcegeneration unit 1102 i is angle correcting force generation means forgenerating an angle correcting force for a connection destination nodeof each directed edge in a direction in which the synthetic vectorgenerated by the synthetic vector generation unit and each unit vectoris made smaller and in a direction perpendicular to the unit vector.

The energy calculation unit 1102 e is energy calculation means forcalculating energy by calculating a sum of at least angle correctingforces, repulsive forces, or attractive forces for all nodes. Theoptimization control unit 1102 f is optimization control means forchanging a coordinate position of each node so as to optimize the energycalculated by the energy calculation unit. The graph drawing unit 1102 gis graph drawing means for determining the coordinate position of eachnode based on the repulsive force, the attractive force, the anglecorrecting force and the like by the spring layout, and drawing thenodes and the directed edges in the form of a directed graph. Processingperformed by these respective units will be explained later in detail

[System Processing]

One example of processing of the apparatus according to this embodimentthus configured will be explained in detail with reference to FIGS. 17to 21.

[Main Processing]

Main processing will be explained first in detail with reference toFIGS. 17 and 21. FIG. 17 is a flowchart of one example of the mainprocessing performed by the system according to this embodiment.

The directed graph layout apparatus 1100 creates the binary relationmodel from the pathway information by the processing performed by thebinary relation model creation unit 1102 a, and stores the binaryrelation model in the binary relation model database 1106 a (at a stepSAA-1). Namely, the binary relation model creation unit 1102 a causes auser to select desired pathway information from among the pathwayinformation stored in the database such as the conventional KEGG. Thebinary relation model creation unit 1102 a then automatically convertsthe binary relation model of the pathway information shown in FIG. 15into a form shown in FIG. 16 to thereby create the binary relationmodel, and stores the binary relation model in the binary relation modeldatabase 1106 a. Alternatively, the binary relation model creation unit1102 a can create the binary relation model by displaying a binaryrelation model creation screen as shown in FIG. 21 on the output device1114 and causing the user to input information on nodes and edges.

FIG. 21 is one example of the binary relation model creation screendisplayed on the output device 1114 of the directed graph layoutapparatus 1100. As shown in FIG. 21, the binary relation model creationscreen includes a pathway name input area MAA-1, a connection sourceinformation input area MAA-2, a connection destination information inputarea MAA-3, and an edge information input area MAA-4. If the user inputsdesired information in these input areas through the input device 1112,the binary relation model creation unit 1102 a stores the inputinformation in a predetermined storage region of the binary relationmodel database 1106 a.

The control unit 1102 executes a directed graph layout processing, to beexplained later, based on the binary relation model database 1106 a (ata step SAA-2). The main processing is thus finished.

[Directed Graph Layout Processing]

The directed graph layout processing will be explained in detail withreference to FIGS. 18 to 20. FIG. 18 is a flowchart of one example ofthe directed graph layout processing performed by the system accordingto this embodiment.

It is assumed first that a directed graph is stored in G(N, E) in thebinary relation model database 1106 a.

Symbol N denotes a node set and is expressed by the following equation:N={n₁, n₂, . . . , n_(n)}

Symbol E denotes an edge set and is expressed by the following equation:E={e₁(ns₁, nd₁), e₂(ns₂, nd₂), . . . , e^(n)(ns_(n), nd_(n))}

(where ns denotes a connection source node, and nd denotes a connectiondestination node.).

It is assumed that the directed graph is initially laid out (c₀) atrandom or at an initial coordinate position stored in the binaryrelation model database 1106 a (at a step SBB-1). If so, a presentlayout position (c_(c)) is c₀.

The directed graph layout apparatus 1100 calculates the attractive forcefor each element n_(i) in the node set N by the processing performed bythe attractive force calculation unit 1102 b (at a step SBB-2). Theattractive force calculation unit 1102 b calculates a spring energy (aforce for causing edges to attract each other) for all edges e_(j)connected to the node n_(i) as expressed by the following equation, andcalculates a sum of the spring energies.|K×(L−l)|

(where K is a coefficient of spring, L is a spring natural lengthconstant, l is a distance between the node n_(i) and a node ahead of thenode n_(i) connected to each other by the edge e_(j))

The directed graph layout apparatus 1100 calculates the repulsive forcefor each element n_(i) in the node set N by the processing performed bythe repulsive force calculation unit 1102 c (at a step SBB-3). Forinstance, the repulsive force calculation unit 1102 c calculates aCoulomb force (a force for causing the nodes to repel each other)between every node pair as expressed by the following equation, andcalculates a sum of the Coulomb forces.C/d

(where C is a coefficient of the Coulomb force and d is an internodedistance)

The directed graph layout apparatus 1100 calculates the angle correctingforce that is a force for making the directions of the edges connectedto each node uniform by the processing performed by the angle adjustmentunit 1102 d (at a step SBB-4). FIG. 19 is a flowchart of one example ofthe angle correcting force calculation processing performed by the angleadjustment unit 1102 d. As shown in FIG. 19, the angle adjustment unit1102 d generates the synthetic vector of all unit vectors that are therespective directed edges e_(j) connected to the node n_(i) (at a stepSCC-1).

The angle adjustment unit 1102 d generates the angle correcting forcefor the connection destination node of each directed edge in a directionin which the synthetic vector (g), each unit vector, and an angle (t) inradians are made smaller and in a direction perpendicular to the unitvector as expressed by the following equation (at a step SCC-2).(tan (t/2)²

Referring back to FIG. 18, the directed graph layout apparatus 1100calculates a sum of attractive forces, repulsive forces, and anglecorrecting forces for all nodes and calculates energy of the entiregraph by the processing performed by the energy calculation unit 1102 e(at a step SBB-5).

The directed graph layout apparatus 1100 changes the coordinate positionof each node so as to optimize the calculated energy by the processingperformed by the optimization control unit 1102 f (at a step SBB-6). Atthis moment, the other forces (e.g., attractive forces and repulsiveforces) calculated by the spring layout or the like are all added up inthe entire graph and a sum of absolute values of the forces iscalculated as the energy. In addition, the layout of the respectivenodes is determined so that the energy is minimized by the ordinaryoptimization scheme (e.g., the genetic algorithm or the simulatedannealing). The directed graph layout apparatus 1100 outputs thedirected graph to the output device 1114 by the processing performed bythe graph drawing unit 1102 g. FIG. 20 is one example of a directedgraph output screen displayed on the output device 1114 of the directedgraph layout apparatus 1100.

The directed graph layout apparatus 1100 determines whether the createddirected graph satisfies a preset end condition (e.g., whether theenergy is lower than a preset threshold, whether the user designates theend, or whether the number of times accounts for a restricted number oftimes) by the processing performed by the optimization control unit 1102f (at a step SBB-7). If the created directed graph does not satisfy theend condition, the processing returns to the step SBB-2. The directedgraph layout processing is thus finished.

[Other Embodiments]

While the embodiments of the present invention have been explainedabove, variously modified embodiments other than the explained ones canbe made without departing from the scope of the technical spirit of theappended claims.

For example, the instance that the directed graph layout apparatus 1100performs processing in a standalone form has been explained.Alternatively, the system can be configured such that the directed graphlayout apparatus 1100 performs a processing in response to a clientterminal configured by a different housing from the directed graphlayout apparatus 1100, and returns a processing result to the clientterminal.

Of the respective processing explained in the embodiments, all of or apart of the processing explained as being performed automatically can beperformed manually, or all of or a part of the processing explained asbeing performed manually can be performed automatically in a knownmethod.

Information including the processing procedure, the control procedure,specific names, parameters such as various kinds of registration dataand search conditions, display examples, and database configurationsshown in the specification or in the drawings can be optionally changed,unless otherwise specified.

The respective constituent elements of the directed graph layoutapparatus 1100 are only functionally conceptual and not always requiredto be physically configured as shown in the drawings.

For instance, all of or a part of processing functions included by therespective servers of the directed graph layout apparatus 1100,particularly those executed by the control unit 1102 can be realized bythe CPU (Central Processing Unit) and the programs interpreted andexecuted by the CPU. Alternatively, they can be realized as hardwarebased on wired logic. The programs are recorded in a recording medium tobe explained later. The programs are mechanically read by the directedgraph layout apparatus 1100 according to need.

That is, a computer program for transmitting a command to the CPU incooperation with OS (Operating System) and for performing variousprocessing is recorded in the storage unit 1106 such as the ROM or HD,or the like. This computer program is executed by being loaded to theRAM or the like, and the computer program and the CPU constitute thecontrol unit. Alternatively, this computer program can be recorded in anapplication program server connected to the directed graph layoutapparatus 1100 through an arbitrary network. All of or a part of thecomputer program can be downloaded according to need.

The programs according to the present invention can be stored in acomputer readable recording medium. Examples of the “recording medium”include arbitrary “portable physical mediums” such as a flexible disk, amagneto-optical disk, a ROM, an EPROM, an EEPROM, a CD-ROM, an MO, and aDVD, arbitrary “fixed physical mediums” such as a ROM, a RAM, and a HDincluded in various computer systems, and “communication mediums”temporarily holding programs such as a communication line and a carrierwave used when the programs are transmitted through networks representedby a LAN, a WAN, and the Internet.

Furthermore, the “program” is a data processing method described in anarbitrary language by an arbitrary description method, and a form of the“program” is not limited to a source code or a binary code. The“program” is not always configured as a single program but can beconfigured to be distributed as a plurality of modules or libraries, orcan fulfill the functions in cooperation with a separate programrepresented by OS (Operating System). As for specific configurations,reading procedures, installing procedures after reading, and the likefor reading data from the recording medium by the respective devicesshown in the embodiment, well-known configurations and procedures can beused, respectively.

The various databases (the binary relation model database 1106 a and thegraph data 1106 b) stored in the storage unit 1106 are storage meanssuch memory devices such as RAMs or ROMs, fixed disk devices such ashard disks, flexible disks, and optical disks. They store the variousprograms, tables, files, databases, webpage files, and the like employedfor various processing and for providing websites.

The directed graph layout apparatus 1100 can be realized by connectingan information processing apparatus such as an information processingterminal such as an existing personal computer or workstation to aperipheral such as a printer, a monitor, an image scanner or the like,and installing software (including programs, data, and the like) forrealizing the method according to the present invention into theinformation processing apparatus.

Furthermore, a specific form of dispersion and integration of thedirected graph layout apparatus 1100 is not limited to that shown in thedrawings. All of or a part of the directed graph layout apparatus 1100can be configured by being functionally or physically dispersed orintegrated according to arbitrary units according to various loads orthe like. For instance, the directed graph layout apparatus 1100 can beconfigured such that the respective databases serve as independentdatabase apparatuses or a part of the processing thereof can be realizedusing CGI (Common Gateway Interface).

The network 1300 functions to connect the directed graph layoutapparatus 1100 and the external system 1200 to each other. For example,the network 1300 can include any one of the Internet, the Intranet, aLAN (can be wired or wireless), a VAN, a personal computer communicationnetwork, a public telephone network (can be analog or digital), adedicated line network (can be analog or digital), a CATV network, aportable line switched network or a portable packet switched networkaccording to IMT2000, GSM, PDC/PDC-P or the like, a paging network, alocal wireless network such as Bluetooth, a PHS network, a satellitecommunications network for CS, BS, ISDB or the like. Namely, the systemaccording to the present invention can transmit and receive variouspieces of data through an arbitrary network whether the network is wiredor wireless.

As explained so far in detail, according to the present invention, asynthetic vector of all unit vectors is generated, with the directededges connected to each of the nodes assumed as the unit vectors. Anangle correcting force is generated for the each node serving as aconnection destination node of the directed edges in a direction inwhich an angle between the generated synthetic vector and each of theunit vectors is smaller and in a direction perpendicular to the eachunit vector. Energy is calculated by calculating a sum of the anglecorrecting forces for all the nodes, and a position of each of the nodesis changed so as to optimize the calculated energy. It is, therefore,possible to provide the directed graph layout apparatus, the directedgraph layout method, the program, and the recording medium capable ofautomatically drawing a graph in which flows of edges of a directedgraph are expressed.

According to the present invention, it is possible to provide thedirected graph layout apparatus, the directed graph layout method, theprogram, and the recording medium capable of automatically laying out adirected graph in which a pathway on which a forward path is present anda pathway on which a cyclic path is not present are mixed so that theforward path part is closer to a circle and directions of edges coincidewith one another on a part other than the forward path, and realizingthe directed graph layout efficiently by a simple method.

According to the present invention, it is possible to provide thedirected graph layout apparatus, the directed graph layout method, theprogram, and the recording medium capable of generally effectively usingthe drawing region, as compared with an instance of drawing a graphusing the magnetic spring scheme.

According to the present invention, each unit vector of each of thedirected edges is multiplied by a coefficient according to a type of thedirected edge, and the synthetic vector is generated using the unitvectors each multiplied by the coefficient. Therefore, a weight can begiven to the directivity of each directed edge according to the type ofthe directed edge. For instance, as types of the edges, a normal route(a route in a stationary state), an abnormal route (a route appearingunder abnormal conditions), and the like are set, and a weight is givento the normal route. It is thereby possible to provide the directedgraph layout apparatus, the directed graph layout method, the program,and the recording medium capable of laying out the graph so that thedirectivity of each edge is along the normal route.

According to the present invention, the angle correcting force is apreset constant. It is, therefore, possible to provide the directedgraph layout apparatus, the directed graph layout method, the program,and the recording medium capable of obtaining the angle correcting forcewithout making complicated calculations, and without need of lots ofcalculation time and calculation amount.

According to the present invention, the angle correcting force ischanged according to the angle. It is, therefore, possible to providethe directed graph layout apparatus, the directed graph layout method,the program, and the recording medium capable of efficiently executingthe optimization in the initial state.

According to the present invention, an attractive force generatedbetween the nodes connected to each other by the edges is calculated,and a repulsive force generated between the nodes within a certaindistance is calculated. The energy is calculated by calculating a sum ofthe attractive forces, the repulsive forces, and the angle correctingforces for all the nodes. When the angle adjustment is made, all thedirected edges are to be overlaid on a certain line (synthetic vector).However, by utilizing a force-directed layout scheme such as the springlayout together with the present invention, the repulsive forcegenerated between nodes closer to each other to some extent is stronger,and the nodes repel each other. It is, therefore, possible to providethe directed graph layout apparatus, the directed graph layout method,the program, and the recording medium capable of preventing differentedges from being completely overlaid.

INDUSTRIAL APPLICABILITY

(I) As explained so far, the pathway information display apparatus, thepathway information display method, the program, and the recordingmedium can automatically draw a graph for a complicated pathway, or amedium or large-sized pathway.

The pathway information display apparatus, the pathway informationdisplay method, the program, and the recording medium according to thepresent invention are, therefore, remarkably useful in thebioinformatics field of drawing graphs for pathway information such asgenetic control pathways, metabolic pathways, and signal-transferpathways.

The present invention can be widely carried out in many industrialfields, particularly in the fields of drugs, foods, cosmetic products,medical treatments, gene expression analyses, information processing,and the like, and therefore remarkably useful.

(II) Furthermore, the directed graph layout apparatus, the directedgraph layout method, the program, and the recording medium canefficiently lay out a directed graph by a simple method if a pathway onwhich a forward path is present and a pathway on which a cyclic path isnot present are mixed in the directed graph.

The directed graph layout apparatus, the directed graph layout method,the program, and the recording medium according to the present inventionare, therefore, remarkably useful in the bioinformatics field of drawinggraphs for pathway information such as genetic control pathways,metabolic pathways, and signal-transfer pathways.

The present invention can be widely carried out in many industrialfields, particularly in the fields of drugs, foods, cosmetic products,medical treatments, gene expression analyses, information processing,and the like, and therefore remarkably useful.

1-19. (canceled)
 20. A directed graph layout apparatus for automaticallylaying out a directed graph configured by nodes and directed edges,comprising: a synthetic vector generation unit of generating a syntheticvector of all unit vectors, the unit vectors being the directed edgesconnected to each of the nodes; an angle correcting force generationunit of generating an angle correcting force for the each node servingas a connection destination node of the directed edges in a direction inwhich an angle between the synthetic vector generated at the syntheticvector generation unit and each of the unit vectors is smaller and in adirection perpendicular to the each unit vector; an energy calculationunit of calculating an energy by calculating a sum of the anglecorrecting forces for all the nodes; and an optimization control unit ofchanging a position of each of the nodes so as to optimize the energycalculated at the energy calculation unit.
 21. The directed graph layoutapparatus according to claim 20, further comprising: a unit vectormultiplication unit of multiplying the each unit vector of each of thedirected edges by a coefficient according to a type of the each directededge, wherein at the synthetic vector generation unit, the syntheticvector is generated using the each unit vector multiplied by thecoefficient at the unit vector multiplication unit.
 22. The directedgraph layout apparatus according to claim 20, wherein the anglecorrecting force is a preset constant.
 23. The directed graph layoutapparatus according to claim 20, wherein the angle correcting force ischanged according to the angle.
 24. The directed graph layout apparatusaccording to claim 20, further comprising: an attractive forcecalculation unit of calculating an attractive force generated betweenthe nodes connected to each other by the edges; a repulsive forcecalculation unit of calculating a repulsive force generated between thenodes within a certain distance, wherein at the energy calculation unit,the energy is calculated by calculating a sum of the attractive forces,the repulsive forces, and the angle correcting forces for all the nodes.25. A directed graph layout method for automatically laying out adirected graph configured by nodes and directed edges, comprising: asynthetic vector generation step of generating a synthetic vector of allunit vectors, the unit vectors being the directed edges connected toeach of the nodes; an angle correcting force generation step ofgenerating an angle correcting force for the each node serving as aconnection destination node of the directed edges in a direction inwhich an angle between the synthetic vector generated at the syntheticvector generation step and each of the unit vectors is smaller and in adirection perpendicular to the each unit vector; an energy calculationstep of calculating an energy by calculating a sum of the anglecorrecting forces for all the nodes; and an optimization control step ofchanging a position of each of the nodes so as to optimize the energycalculated at the energy calculation step.
 26. The directed graph layoutmethod according to claim 25, further comprising: a unit vectormultiplication step of multiplying the each unit vector of each of thedirected edges by a coefficient according to a type of the each directededge, wherein at the synthetic vector generation step, the syntheticvector is generated using the each unit vector multiplied by thecoefficient at the unit vector multiplication step.
 27. The directedgraph layout method according to claim 25, wherein the angle correctingforce is a preset constant.
 28. The directed graph layout methodaccording to claim 25, wherein the angle correcting force is changedaccording to the angle.
 29. The directed graph layout method accordingto claim 25, further comprising: an attractive force calculation step ofcalculating an attractive force generated between the nodes connected toeach other by the edges; a repulsive force calculation step ofcalculating a repulsive force generated between the nodes within acertain distance, wherein at the energy calculation step, the energy iscalculated by calculating a sum of the attractive forces, the repulsiveforces, and the angle correcting forces for all the nodes.
 30. A programcapable of making a computer execute a directed graph layout method forautomatically laying out a directed graph configured by nodes anddirected edges, comprising: a synthetic vector generation step ofgenerating a synthetic vector of all unit vectors, the unit vectorsbeing the directed edges connected to each of the nodes; an anglecorrecting force generation step of generating an angle correcting forcefor the each node serving as a connection destination node of thedirected edges in a direction in which an angle between the syntheticvector generated at the synthetic vector generation step and each of theunit vectors is smaller and in a direction perpendicular to the eachunit vector; an energy calculation step of calculating an energy bycalculating a sum of the angle correcting forces for all the nodes; andan optimization control step of changing a position of each of the nodesso as to optimize the energy calculated at the energy calculation step.31. The program according to claim 30, further comprising: a unit vectormultiplication step of multiplying the each unit vector of each of thedirected edges by a coefficient according to a type of the each directededge, wherein at the synthetic vector generation step, the syntheticvector is generated using the each unit vector multiplied by thecoefficient at the unit vector multiplication step.
 32. The programaccording to claim 30, wherein the angle correcting force is a presetconstant.
 33. The directed graph layout program according to claim 30,wherein the angle correcting force is changed according to the angle.34. The program according to claim 30, further comprising: an attractiveforce calculation step of calculating an attractive force generatedbetween the nodes connected to each other by the edges; a repulsiveforce calculation step of calculating a repulsive force generatedbetween the nodes within a certain distance, wherein at the energycalculation step, the energy is calculated by calculating a sum of theattractive forces, the repulsive forces, and the angle correcting forcesfor all the nodes.
 35. A computer readable recording medium havingrecorded therein the program according to claim
 30. 36. A computerreadable recording medium having recorded therein the program accordingto claim
 31. 37. A computer readable recording medium having recordedtherein the program according to claim
 32. 38. A computer readablerecording medium having recorded therein the program according to claim33.
 39. A computer readable recording medium having recorded therein theprogram according to claim 34.